using System.Collections.Generic;
using FireStarter.Base;
using FireStarterModeller.BO;
using Habanero.Base;

namespace FireStarter.CodeGeneration
{
    public interface ISolutionGenerator
    {
        Result Generate(CodeTemplateEnum codeTemplate);
        string SolutionName { get; set; }
        string SolutionDirectory { get; set; }
        List<IProjectGenerator> ProjectGenerators { get; }
        string HabaneroReferencePath { get; set; }
        IModelSolution ModelSolution { get; set; }
        string SolutionTypeName { get; set; }
        IList<IModelClass> ModelClasses { get; set; }
        string ClassDefsString { get; set; }
        CodeTemplateEnum CodeTemplate { get; set; }
    }
}